$5
June 10, 2009 – CMPE 123b Project Presentations Jas Condley Eddie Izumoto Kevin Nelson Matt Thrailk
June 10, 2009 – CMPE 123b Project Presentations Jas Condley Eddie Izumoto Kevin Nelson Matt Thrailkill Zach Walker
June 10, 2009 – CMPE 123b Project Presentations Design Goals The table must be tilt-able Touchable Have a coherent display Be interactive
June 10, 2009 – CMPE 123b Project Presentations System Architecture
June 10, 2009 – CMPE 123b Project Presentations Table Construction
June 10, 2009 – CMPE 123b Project Presentations Table Construction
June 10, 2009 – CMPE 123b Project Presentations Frustrated Total Internal Reflection
June 10, 2009 – CMPE 123b Project Presentations Sony PS3Eye webcams (4) 640x480 resolution at 30fps Cheap, easily hackable, not very consistent Camera Hardware
June 10, 2009 – CMPE 123b Project Presentations Software Image Filtering Touch Detection
June 10, 2009 – CMPE 123b Project Presentations OpenCV extension CVBlob Touch Detection
June 10, 2009 – CMPE 123b Project Presentations To get camera coverage of the whole screen with four cameras, we chose this configuration Camera Orientation
June 10, 2009 – CMPE 123b Project Presentations Resulting in overlapping regions... Overlapping Regions
June 10, 2009 – CMPE 123b Project Presentations Allow only blobs within a bounding box to pass through Compensate for axis inversion and 90 degree rotation Offset the blob's X coordinate according to the camera and its Y coordinate Offset the blob's Y coordinate according to the camera and it's X coordinate Stitching Process
June 10, 2009 – CMPE 123b Project Presentations The stitching process leaves us with something like this Post-Stitching Overlap
June 10, 2009 – CMPE 123b Project Presentations USB Bandwidth Non-linearities due to camera positioning Non-linearities due to lens distortion Variance in blob size and center can still result in duplicate blobs on the final list Problems with this Approach
June 10, 2009 – CMPE 123b Project Presentations How to track the location of a blob that is moving frame to frame? No correlation between frames Tracking must be predicted Implemented Solution k-Nearest Neighbors variant Blob Tracking
June 10, 2009 – CMPE 123b Project Presentations Goal: high resolution, low cost Six 800x600 resolution projectors Total desktop resolution of 2400x1200 pixels All powered by one video card and two Matrox Triplehead2Go adapters Multiple Displays
June 10, 2009 – CMPE 123b Project Presentations First Solution
June 10, 2009 – CMPE 123b Project Presentations New Solution
June 10, 2009 – CMPE 123b Project Presentations Mounting projectors with precision is difficult –Especially when we are using wood! Each projector overlaps its neighbor and suffers from other visual imperfections We correct for this in software! Display Correction
June 10, 2009 – CMPE 123b Project Presentations Display Correction
June 10, 2009 – CMPE 123b Project Presentations Perspective Distortion Homographies
June 10, 2009 – CMPE 123b Project Presentations Before..After! Display Correction
June 10, 2009 – CMPE 123b Project Presentations Application objects Gesture API Threads Gesture API Design
June 10, 2009 – CMPE 123b Project Presentations Basic Gestures Complex and Composite Gesture Recognition Gesture Recognition
June 10, 2009 – CMPE 123b Project Presentations Collaborative CAD Mixer/Turntables Air-Hockey Photo Manipulation Smoke Possible Applications
Budget Projectors4200 Glass/Acrylic120 Surface680 Building Mat.440 Cameras275 IR LEDs353 Bezel111 Discrete Parts558 Filters57 Video Hardware640 Total7434
Gantt
June 10, 2009 – CMPE 123b Project Presentations Questions